Systems and methods for monitoring data and bandwidth usage

ABSTRACT

Access to a communications network may be provided via a data provider that may charge for access. In some cases, the access fee may be related to the amount of network resources consumed (e.g., amount of data downloaded or bandwidth used). In some cases, a user may have access to a particular amount of data provider resources and be required to pay an additional fee for using resources in excess of the particular amount. To assist the user in managing his data resource consumption, a resource utilization component may provide different alerts and notices informing the user of current consumption, expected future consumption, and recommendations for reducing data provider resources consumed (e.g., stopping particular processes or data provider requests, such as downloading media). If several electronic devices in a network are connected to the same data provider resources, a network component may manage the data provider resource use among the several electronic devices (e.g., allow only particular users or devices access).

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional Application No.61/082,160, filed Jul. 18, 2008, which is incorporated by referenceherein in its entirety.

BACKGROUND OF THE INVENTION

This invention relates to metering of data usage in a system or deviceconnected to a data service provider.

“Data providers,” such as cellular network providers and InternetService Providers, charge users to access and to post data from remotedata resources such as web servers and mail servers. Data providers maycharge based upon connection time or as a fixed recurring fee. In theseinstances, the data providers have traditionally allowed unlimitedbandwidth (i.e. unlimited data size transfer). However, with theincrease in connection speed affordability and in the size of filestransferred, users have increased data consumption dramatically leadingat times to congestion and utilization stress on data providers.

In addition, different protocols have been developed for allowing usersto share files or other data between electronic devices. For example,the advent of peer-to-peer protocols and applications allowingpeer-to-peer transfers of files (such as Limewire and Bearshare) havepermitted a large network of users to transfer increasingly larger andlarger amounts of data with few limits.

Recently, media files which are typically of very large relative sizeare also being increasingly transferred to portable electronic devicesand computer systems. For example, with the advent of electronicpurchasing of media, such as music and video, many users have stoppedpurchasing physical CDs and DVDs and have instead downloaded desiredmedia to their devices. As another example, content providers now allowcontent to be rented electronically by enabling time-restricteddownloading of media—downloaded media expires and can no longer beplayed back when a delay lapses (e.g., 30 days from date of rental, or24 hours from beginning playback of the media). The portable electronicmedia device (e.g. Apple's iPod®) revolution has increased significantlythe overall consumption of data provider resources.

Because of the wide disparity in types of data transfer some devices orusers may use disproportionately more data provider resources (e.g.,bandwidth) than others. In fact, some data providers have found that amere 5% of users (e.g., power users) may be responsible for 50% ofconsumed resources.

The data providers may increasingly alter the mechanism for chargingusers from a fixed or connection time based fees to usage-based fees. Insuch instances, data providers would charge users for the amount of datatransferred in a given time window similar to mechanisms employed byelectric or natural gas utility companies. There may thus be a need tomonitor data usage and provide users, data providers, or both with themeans to effectively manage such pricing mechanisms.

SUMMARY OF THE INVENTION

The various embodiments of the invention describe metering, modeling,alerting a user to, and managing data provider resource utilization by asubscriber. This may include providing notifications, scheduling,application control, and switching or load balancing between differentdata provider resources (where more than one is available). Thesefunctions may be implemented in a centralized manner, distributedmanner, or both and may also arbitrate among several devices accessingthe same data provider resources.

BRIEF DESCRIPTION OF THE DRAWINGS

The various embodiments of the invention are set forth in the followingdetailed description, taken in conjunction with the accompanyingdrawings, in which like reference characters refer to like partsthroughout, and in which:

FIG. 1 is a simplified block diagram of a system in accordance with atleast one embodiment of the invention;

FIG. 2 is a block diagram of an illustrative electronic device for usewith the system of FIG. 1 in accordance with at least one embodiment ofthe invention;

FIG. 3 is an illustrative screen of a notice of data provider resourcesused in accordance with at least one embodiment of the invention;

FIG. 4 is an illustrative screen indicating that the consumer hasreached a limit in data provider resources in accordance with at leastone embodiment of the invention;

FIG. 5 is an illustrative screen prompting a user to switch networks inaccordance with at least one embodiment of the invention; and

FIG. 6 is a flowchart of an illustrative process for providing anindication of current resource use to a consumer in accordance with atleast one embodiment of the invention.

DETAILED DESCRIPTION

Data providers may charge for access based on the amount of resourcesconsumed (e.g., the amount of data transferred by a subscriber). In someembodiments, the data provider may provider tiers or subscriptions bywhich a subscriber (e.g., a user or electronic device on a network) mayuse up to a limit of data provider resources for a fixed fee, and pay anadditional per resource consumed fee in excess of the limit.Additionally, the data provider can provide differentiated pricing basedupon the direction of data transfer (“upstream” to the provider, forexample uploading, versus “downstream” from the provider, for exampledownloading), time-of-day (e.g. peak and non-peak) and even dynamicallybased upon resource availability at the time of transfer.

To assist a subscriber in managing their usage under such pricingmechanisms, a resource utilization component within the subscriber'snetwork (e.g., downstream of the data provider) may monitor theirutilization, provide alerts at certain thresholds, and/or performutilization shifting actions such as application control and scheduling.The resource utilization component may include any suitable networkcomponent or electronic device operative to provide access or be used toaccess data provider resources. The resource utilization component mayprovide any suitable notification or information to subscribers or dataprovider resource consumers. For example, a subscriber may receivenotices of the amount of resources utilized and the amount of resourcesremaining during the subscription period. The notices may be providedperiodically or when particular conditions are met, such as for examplewhen the consumer's consumption reaches a given threshold or fallswithin a particular range. The threshold or range may be defined usingany suitable approach, including for example based on an expectedconstant use of data provider resources, the day or time within thesubscription period, known or monitored prior consumption of dataprovider resources by the consumer, or any other suitable approach. Insome embodiments, the threshold or range may be dynamically defined andchange based on any suitable factor (e.g., resources consumed, resourcesremaining, time remaining in the subscription period), or may evenfactor in a dynamic allocation by the data provider to the subscriberbased upon network conditions or availability of resources.

When the resource utilization component determines that the subscriberis within a particular range of the data provider resource limit, or hasreached a particular threshold, the resource utilization component mayprovide several options or automate certain actions to assist asubscriber in managing his resource utilization so as to mitigatesubscription costs. For example, the resource utilization component mayprevent the subscriber from consuming any further resources. As anotherexample, the types of resources consumed may be restricted, such thatresource consumption associated with applications, protocols or datatypes that require significant resources are restricted (e.g., limitmedia downloads). As still another example, the resource utilizationcomponent may prompt the subscriber to purchase access to or authorizethe purchase of additional data provider resources. In some embodiments,only the particular consumer (who may not be the subscriber per se) whopurchased the additional resources may consume the additional resources.

In other management aspects, when a particular subscriber has access toseveral communications networks, or several data providers for accessingthe same (or different) data (e.g., over a Wi-Fi network and a cellularnetwork), the subscriber may switch between networks or data providersbased on the resources consumed on each network via each data provider.For example, if a subscriber has consumed significant resources using afirst network, but no resources using a second network, the subscribermay switch from the first network to the second network (e.g.,automatically or in response to a user instruction) to continue toconsume resources, but to avoid exceeding a resource limit on eithernetwork. In some embodiments, the subscriber may choose to dedicateparticular networks to different types of resource consumptions or datatransfers (e.g., use Wi-Fi to download media or access web pages, butuse a cellular network to check e-mail).

As is often the case, several electronic devices may be connected via anetwork and together access remote sources using the same data provider(e.g. home or office local area networks). To ensure an equitabledistribution of resources, the data provider resource utilization may beallocated appropriately (e.g. load balanced) among the electronicdevices. For example, the resources may be allocated equally, ordifferently (e.g., based on prior resource consumption, expectedresource consumption, or the type of device). The consumption by eachindividual electronic device may be managed using any suitablemechanism, including any of the mechanisms described above in connectionwith a single consumer.

FIG. 1 is a simplified block diagram of a system in accordance with atleast one embodiment of the invention. System 100 may include a network102, a resource utilization component 110 and an electronic device 120.Network 102 may be connected to resource utilization component 110 usingcommunications path 105. Resource utilization component 110 may beconnected to electronic device 120 using communications path 115 (whichmay include an interface within electronic device 120 when resourceutilization component 110 is embedded in electronic device 120). In someembodiments, several electronic devices 120 or other network devices maybe connected to resource utilization component 110, to each other in alocal area network, or both. Further, electronic device 120 may beconnected to several resource utilization components 110 to access thesame or different networks 102. For simplicity, only one of network 102,resource utilization component 110 and electronic device 120 are shown.

Resource utilization component 110 may measure the resources provided bynetwork 102 that are used by electronic device 120. For example,resource utilization component 110 may measure the amount of datatransferred to or from electronic device 120 (e.g., uploads ordownloads), the bandwidth used by electronic device 120, or any othersuitable quantity for measuring network resource use. Resourceutilization component 110 may be operative to monitor the resource useand to provide notices or warnings to electronic device 120 whenparticular resource use thresholds are met. In some embodiments,resource utilization component 110 may be operative to adjust theresource consumption of electronic device 120 (e.g., reduce or preventaccess to network resources, change networks, modify attributes oftransferred files or of the transfer of files).

Network 102 may include any suitable communications network or datanetwork to and from which electronic device 120 may transfer data. Insome embodiments, network 102 may include a network to which access ison a pay to use basis. For example, a pay-to-use network may include anetwork to which access is provided by an Internet Service Provider(e.g., AT&T, Comcast, Earthlink, Netzero, Cablevision, Time Warner), acellular service provider (e.g., AT&T, Verizon, T-Mobile, Sprint, O2,Rogers, Orange), or any other suitable pay to use network. In someembodiments, network 102 may include an intranet, an extranet, theInternet, or combinations of these. Network 102 may be provided for by adata provider (not shown) and can include a cellular network, a cablenetwork, a public switched telephone network, a satellite network, orany other suitable type of network. Network 102 may include a network ofany suitable size or topology.

Network 102 may support any suitable communications protocol fortransmitting data within network 102 or for transmitting data to or fromelectronic devices 120 that are coupled to the network (e.g., overcommunications link 105). In some embodiments, network 102 may supportany suitable protocol at different layers. For example, network 102 maysupport Layer 1 protocols (Physical layer) such as ISDN, PDH, DSL(digital subscriber line) or any other suitable Layer 1 Protocol.Network 102 may also support Layer 2 protocols (Data link layer) such asARCnet, Dynamic Trunking Protocol, Ethernet, IEEE 802.11, IEEE 802.16,LLDP, PPP, PPTP, or any other suitable Layer 2 protocol. Network 102 mayalso support Layer 3 protocols (Network layer) such as ARP, BGP, EGP,ICMP, IP, IPSec, IPX, MPLS, RIP, or any other suitable Layer 3 protocol.Network 102 may also support Layer 4 protocols (Transport layer) such asAH, ESP, SCCP, TCP, UDP, or any other suitable Layer 4 protocol. Network102 may also support Layer 5 protocols (Session layer) such as NCP, NFS,SMB or any other suitable Layer 5 protocol. Network 102 may also supportLayer 7 protocols (Application layer) such as AFP, BitTorrent, BOOTP,DNS, DHCP, Gnutella, HTTP, IMAP, IRC, MIME, NTP, POPS, RTP, SSH, SIP,SMPT, Telnet, TFTP, or any other suitable Layer 7 protocol.

In some embodiments, network 102 may support other communicationsprotocols or connection types, such as, for example, CAN, CIP,automation protocols, SOCKS, Bluetooth (registered trademark), highfrequency systems (e.g., 900 MHz, 2.4 GHz, and 5.6 GHz communicationsystems), infrared, or any other suitable other protocol or connectiontype. In some embodiments, network 102 may include a cellular networkproviding for data transfers using any suitable network such as, forexample, GSM, AMPS, GPRS, CDMA, EV-DO, EDGE, 3GSM, DECT, IS-136/TDMA,iDen, LTE or any other suitable cellular network providing for datatransfers (e.g., voice or other data) at any suitable speed.

Network 102 may include any suitable hardware for providing datatransfers to and from electronic device 120. For example, network 102may include one or more repeaters, hubs, bridges (e.g., local bridges,remote bridges and wireless bridges), switches, and routers. The variousnetwork hardware components may be coupled using any suitableconnection, including for example wired (e.g., metal or fiber opticcables) or wireless connections.

To access network 102, resource utilization component 110 may act as agateway to electronic device 120 to access the resources of network 102.In some embodiments, resource utilization component may be embedded inelectronic device (e.g., as an electrical component or as softwareoperating on the electronic device). Resource utilization component 110may include any suitable component operative to provide electronicdevice 120 with access to resources of network 102. For example,resource utilization component 110 may include a router, modem (e.g.,cable modem), network interface controller, communications signalprocessor, or any other suitable component allowing electronic device120 to connect to network 102. In some embodiments, resource utilizationcomponent 110 may include a network component provided by the dataprovider such that the data provider may authorize, monitor, andmonetize access to network 102. The data provider may include any entityoperative to provide access to resources of network 102 such as, forexample, an Internet Service Provider (e.g., AT&T, Comcast, Earthlink,NetZero, Cablevision, Time Warner), a cellular service provider (e.g.,AT&T, Verizon, T-Mobile, Sprint, O2, Rogers, Orange), or any othersuitable data provider.

Electronic device 120 may connect to network 102 using any suitablecommunications path 115. For example, communications path 115 mayinclude any suitable wired or wireless communications path. In someembodiments, electronic device 120 may be coupled to resourceutilization component 110 via a separate network component, such as forexample a hub, router, or network interface controller. A router, forexample, may allow several electronic devices 120 to simultaneouslyconnect to and access network 102 via resource utilization component110. In some embodiments, the several electronic devices may beconnected to each other (e.g., instead of or in addition to connectingto resource utilization component 110).

Electronic device 120 may include any suitable electronic device foraccessing resources of network 102, for example to transfer data. Forexample, electronic device 120 may include a media player such as aniPod® available by Apple Inc., of Cupertino, Calif., a cellulartelephone (e.g., an iPhone® available from Apple Inc.), personal digitalassistants (PDAs), a desktop computer, a laptop computer, gamingconsole, set-top box, television system or television system component(e.g., a recording device), and any other device capable ofcommunicating via a wire or wirelessly (with or without the aid of anenabling accessory) with resource utilization component 110. If resourceutilization component 110 is embedded in electronic device 120,electronic device 120 may be operative to access network 102 directly.Electronic device 120 may be a mobile device or relatively fixed inlocation or network location.

FIG. 2 is a block diagram of an illustrative electronic device for usewith the system of FIG. 1 in accordance with at least one embodiment ofthe invention. Electronic device 200 may include processor 202, storage204, memory 206, communications circuitry 208, input/output circuitry210. In some embodiments, one or more of electronic device components200 may be combined or omitted (e.g., combine storage 204 and memory206). In some embodiments, electronic device 200 may include othercomponents not combined or included in those shown in FIG. 2 (e.g., adisplay, bus, or input mechanism), or several instances of thecomponents shown in FIG. 2. For the sake of simplicity, only one of eachof the components is shown in FIG. 2.

Processor 202 may include any processing circuitry operative to controlthe operations and performance of electronic device 200. For example,processor 202 may be used to run operating system software, firmware,media playback applications, media editing applications, communicationsapplications, and/or any other application. In some embodiments,processor 202 may be operative to run applications and performoperations associated with a resource utilization component, includingfor example monitoring network resource usage, adjusting networkresource usage, providing notices to a user, or any other suitableoperation. In some embodiments, a processor may drive a display andprocess inputs received from a user interface.

Storage 204 may include, for example, one or more storage mediumsincluding a hard-drive, flash memory, permanent memory such as ROM, anyother suitable type of storage component, or any combination thereof.Storage 204 may store, for example, media data (e.g., music and videofiles), application data (e.g., for implementing functions on device200), firmware, user preference information data (e.g., media playbackpreferences), lifestyle information data (e.g., food preferences),exercise information data (e.g., information obtained by exercisemonitoring equipment), transaction information data (e.g., informationsuch as credit card information), wireless connection information data(e.g., information that may enable electronic device 200 to establish awireless connection), subscription information data (e.g., informationthat keeps track of podcasts or television shows or other media a usersubscribes to), contact information data (e.g., telephone numbers andemail addresses), calendar information data, and any other suitable dataor any combination thereof.

Memory 206 can include cache memory, semi-permanent memory such as RAM,and/or one or more different types of memory used for temporarilystoring data. In some embodiments, memory 206 can also be used forstoring data used to operate electronic device applications, or anyother type of data that may be stored in storage 204. In someembodiments, memory 206 and storage 204 may be combined as a singlestorage medium.

Communications circuitry 208 can permit device 200 to communicate withone or more networks or other devices using any suitable communicationsprotocol such as a resource utilization component (e.g., resourceutilization component 110 accessing network 102, FIG. 1). For example,communications circuitry 208 may support Wi-Fi (e.g., a 802.11protocol), Ethernet, Bluetooth™ (which is a trademark owned by BluetoothSig, Inc.), other radio frequency systems, cellular networks (e.g., GSM,AMPS, GPRS, CDMA, EV-DO, EDGE, 3GSM, DECT, IS-136/TDMA, iDen, LTE or anyother suitable cellular network providing for data transfers), infrared,TCP/IP, Voice over IP (VOIP), any other communications protocol, or anycombination thereof.

Electronic device 200 may include one or more instances ofcommunications circuitry 208 for simultaneously performing severalcommunications operations using different communications networks,although only one is shown in FIG. 2 for simplicity. For example,electronic device 200 may include a first instance of communicationscircuitry 208 for communicating over a cellular network, and a secondinstance of communications circuitry 208 for communicating over Wi-Fi orusing Bluetooth. In some embodiments, the same instance ofcommunications circuitry 208 may be operative to provide forcommunications over several communications networks.

Input/output circuitry 210 may be operative to convert (andencode/decode, if necessary) analog signals and other signals intodigital data. In some embodiments, input/output circuitry can alsoconvert digital data into any other type of signal, and vice-versa. Forexample, input/output circuitry 210 may receive and convert physicalcontact inputs (e.g., from a multi-touch screen), physical movements(e.g., from a mouse), analog audio signals (e.g., from a microphone), orany other input. The data can be provided to and received from processor202, storage 204, memory 206, or any other component of electronicdevice 200. Although input/output circuitry 210 is illustrated in FIG. 2as a single component of electronic device 200, a plurality ofinput/output circuitry can be included in electronic device 200.

Electronic device 200 may include any suitable mechanism or componentfor allowing a user to provide inputs to input/output circuitry 210. Forexample, electronic device 200 may include any suitable input mechanism,such as for example, a button, keypad, dial, a click wheel, or a touchscreen. In some embodiments, electronic device 200 may include acapacitive sensing mechanism, or a multi-touch capacitive sensingmechanism such as found in an iPhone. The input mechanism may includeany of the features of the input mechanisms described above inconnection with electronic devices 120 (FIG. 1) and 200 (FIG. 2).

As part of input/output circuitry 210, electronic device 200 can includeoutput circuitry associated with output devices such as, for example,one or more audio outputs. The audio output may include one or morespeakers (e.g., mono or stereo speakers) built into electronic device200, or an audio component that is remotely coupled to electronic device200 (e.g., a headset, headphones or earbuds that may be coupled tocommunications device with a wire or wirelessly).

In some embodiments, I/O circuitry 210 may include display circuitry(e.g., a screen or projection system) for providing a display visible tothe user. For example, display circuitry 212 may include a screen (e.g.,an LCD screen) that is incorporated in electronic device 200 andassociated drivers, graphics processors or other integrated circuits. Asanother example, display circuitry 212 may include a movable display ora projecting system for providing a display of content on a surfaceremote from electronic device 200 (e.g., a video projector). The displaycircuitry also can include display driver circuitry, circuitry fordriving display drivers, or both. The display circuitry may be operativeto display content (e.g., media playback information, applicationscreens for applications implemented on the electronic device,information regarding ongoing communications operations, informationregarding incoming communications requests, or device operation screens)under the direction of processor 202.

In some embodiments, the display circuitry can include a coder/decoder(Codec) to encode or decode digital data into analog signals (and viceversa), or compress and decompress data. For example, the displaycircuitry (or other appropriate circuitry or applications running onelectronic device 200) may include video Codecs such as H.261, MPEG-1,MPEG-2, H.263, MPEG-4, DivX, Xvid, FFmpeg, x264, WMV, RealVideo,Sorenson 3, audio Codecs such as AIFF, RIFF, WAV, ALAC, DST, MPEG-4,Dolby Digital, MP1, MP2, MP3, AAC, or any other suitable type of Codec.

In some embodiments, electronic device 200 may include a bus operativeto provide a data transfer path for transferring data to, from, orbetween control processor 202, storage 204, memory 206, communicationscircuitry 208, input/output circuitry 210, and any other componentincluded in the electronic device.

The data provider associated with the one or more electronic devices(e.g., electronic device 120, FIG. 1) may monitor (e.g., meter) theamount of data transferred by each particular electronic device or user(collectively identified as consumers) associated with each subscriber(e.g., the one paying for the data provider resources). Such monitoringmay allow the data provider to identify those devices or users that usethe largest amount of data provider resources. Although the followingdiscussion will describe embodiments of the invention in the context ofa consumer, it will be understood that the embodiments may also beapplied to a subscriber. To discourage or reduce excessive usage of dataprovider resources, the data provider may allocate to each subscriber orconsumer a particular amount of data provider resources. For example,based on the tier or type of service purchased, each consumer may beallocated a particular amount of data provider resources. The dataprovider may allocate available resources using any suitable approach.For example, the data provider may allocate to each consumer particularamounts of received data (e.g., each user may receive 2 GB of data permonth), an amount of available bandwidth (e.g., no user may use morethan 0.01% of the available bandwidth, or no download at speedsexceeding 500 Mb/s), access to data provider resources at particulartimes or days (e.g., access only during nighttime hours), or any othersuitable allocation (e.g., a measurable quantity) of data providerresources. The allocation may be fixed (e.g., a particular amount ofdata per unit of time) or dynamic (e.g., a percentage of availablebandwidth or other resources). In some embodiments, the measurablequantity may be cumulative, such that the data provider and the user mayquantify the amount of resources consumed over a particular time period(e.g., monthly consumption of data provider resources).

The data provider may provide any suitable number or types of resourceconsumption tiers or plans. For example, the data provider may provideperiodic plans by which a user may be entitled to a particular amount ofdata provider resources (e.g., a particular amount of received ortransmitted data) for a particular period (e.g., one month). In someembodiments, the data provider may provide different resourceconsumption tiers based on different measurable quantity of dataprovider resources consumed (e.g., a data plan based on permittedbandwidth and a data plan based on amount of data received). The dataprovider may prevent users from exceeding the data provider resourceusage set by the selected tier or plan, or may instead or in additioncharge a premium for the consumption of resources in excess of thoseallowed by the selected plan. For example, the data provider may allow auser to transfer 1 GB through an Internet gateway (e.g., through a cablemodem provided by the data provider), and may charge a fixed fee per MBof data transferred within the tier subscription period (e.g., onemonth) up to 5 GB transferred, at which point the data provider mayrefuse to transfer any more data until the next tier period begins. Insome embodiments, the data provider may roll over unused resources froma prior subscription period (e.g., unused data transfer credits) to acurrent or future subscription period.

In some embodiments, a data provider may provide different tiers orplans based on the type of network being used. For example, a dataprovider may allow a first amount of resources to be consumed through acable modem, a second amount of resources to be consumed through a DSLline, a third amount of resources to be consumed over a 3G cellularnetwork, and a fourth amount of resources to be consumed over an EDGEcellular network. The data provider may associate different types ofresources and different amounts of resources for each network type(e.g., a total data transfer over the DSL line, and a bandwidthlimitation over the 3G network).

In some embodiments, a data provider may provide different tiers forresources based on the type of data received or transmitted by theconsumer. For example, if data providers determine that the consumersaccounting for the disproportionate share of data provider resourcestend to consume a particular type of data (e.g., media), or data using aparticular protocol or transmission method (e.g., BitTorrent orpeer-to-peer), data providers may only meter and limit or charge for theparticular type of data or data transmitted using the particularprotocol or transmission method. For example, data providers may providedifferent tiers of service for accessing data provider resourcesrequired to consume the determined particular type of data or to use theparticular protocol or transmission method. In some cases, smallresource allocations may be included in a standard tier, so as not toadversely affect the casual or occasional consumer of the particulardata type or consumer of the determined protocol or transmission method.As another example, if data providers determine that the consumersaccounting for the disproportionate share of data provider resourcestend to consume a particular type of data provider resource, such as forexample uploading data (e.g., due to BitTorrent or peer-to-peertransmission protocols), the data provider may partially or entirelyremove the particular type of resource from standard data providerresource tiers (e.g., so that users uploading data must pay extra). Thisapproach may be of particular interest if, for example, consumption of aparticular type of resource is generally associated with power users orusers of the disproportionate share of resources (e.g., the consumersusing upstream resources are also those using a disproportionately largeamount of downstream resources).

The data provider may meter the use of each consumer (e.g., each user oreach electronic device) using any suitable approach. In someembodiments, because the data provider may provide the gateway (e.g.,the resource utilization component) to the network (e.g., the Internet)requested by the consumer, the data provider may monitor the datarequests made to the gateway or the data transfers actually passingthrough the gateway (e.g., downstream, upstream, or both) and thusaccurately meter the resources consumed by each consumer associated withthe particular gateway. In some embodiments, the data provider may makeavailable to each consumer a report that indicates the amount ofresources used, the amount of resources still available to the user onone or more network types, or any other suitable information.

In some embodiments, each consumer may instead or in addition monitor ormeter his personal use of system resources. For example, if a consumerhas a resource utilization component (e.g., a router, a computer orother electronic device) downstream of the data provider gateway (e.g.,if the resource utilization component is not provided by the dataprovider, or if the consumer can access or control the data providerprovided resource utilization component), the consumer may monitor thedata transfers and other resource uses at the resource utilizationcomponent to receive an accurately monitored view of data providerresources used. The consumer may monitor at any suitable time, includingfor example as a background process (e.g., running without input fromthe user), a process started and stopped by the user (e.g., to monitoruse at particular times), or any other suitable time. In someembodiment, the consumer may maintain a log of resources consumed, forexample to provide reports of resource consumption at particular timesor by particular consumers.

The resource utilization component may, in some embodiments, include anapplication or other code operative to provide monitored statistics tothe user. For example, the resource utilization component may beoperative to compare the resources used with the amount of resourcesallocated to each user (e.g., based on the limits associated withallocated data provider resources) and provide reports, notices,reminders, or alarms to the user. It will be understood that in someembodiments, the reports, notices, reminders, or alarms may be providedto each consumer directly by the data provider (e.g., instead of or inaddition to the resource utilization component).

The consumer may receive any suitable type of report, notice, reminderor alarm related to data provider resource consumption. For example, theconsumer may receive a notice of the amount (e.g., in absolute terms,relative to allocated amount, or combinations of these) of resourcesconsumed for a tier subscription period. As another example, theconsumer may receive an indication of expected resources to be consumedin a particular period based on a rate of current consumption. Receivednotices may include calculations of expected penalties to be paid (e.g.,if the used resources are expected to exceed the allotted resources),resources not consumed, amount of roll over resources expected to beconsumed, or any other indication of cost or expected cost for theperiod's resource consumption. In some embodiments, the consumer mayinstead or in addition receive periodic (e.g., daily, weekly, bi-weekly,monthly) notices of current resource use (e.g., since last report, orcumulatively since last period) to allow the consumer to manage hisresource consumption. If the user's resource allocation is dynamicallydetermined (e.g., as a percentage of a dynamic quantity), the consumermay receive notices indicating the current resources allocated to theconsumer (e.g., the current amount of bandwidth) so that the consumermay adjust his consumption (e.g., perform a more resource intensiveprocess). For example, if the data provider detects an unforeseendecrease or increase in available resources, the data provider mayprovide a notice of the change in available resources to the consumer.In some embodiments, the consumer may receive a notice only if thechange in resources exceeds a particular threshold (e.g., the availableresources double or decrease by half).

FIG. 3 is an illustrative screen of a notice of data provider resourcesused in accordance with at least one embodiment of the invention. Screen300 may be generated and transmitted to the consumer by any suitablecomponent, including for example a router or network componentdownstream from the resource utilization component, or directly from thedata provider. Screen 300 may include notifications 305 with dataresource usage information. For example, screen 300 may includenotification 310 of the data consumed for the current period (e.g.,current month) and notification 312 of the data remaining for thecurrent period. In some embodiments, the information provided to theconsumer may include an estimation of expected data usage for theremaining period and a comparison of the estimated usage with theallocated data provider resources. Alternatively, the consumer maydetermine, based on the current time or date and data consumed as ofthat time or date, the expected data usage. Screen 300 may includenotification 314 of the expected excess consumption or carry-over forthe period (e.g., month). In the example of FIG. 3, at the consumer'scurrent rate of resource consumption, a carry-over is expected. Screen300 may also identify the largest consumer (notification 316) of dataprovider resources within a network of devices coupled to the dataprovider (e.g., so that the network administrator may modify orre-allocate data provider resources within the network). Screen 300 mayinstead or in addition include any other information related to theconsumption of data provider resources, such as for example percentagesof resources consumed or remaining, instructions to cut back on resourceuse (e.g., a personal message from a network administrator to theconsumer), or any other suitable information. Screen 300 may includeClose option 320 to remove or hide screen 300.

To assist the consumer in avoiding excess fees or penalties, theconsumer may receive (e.g., from the data provider or from the resourceutilization component) reminders or alarms that the user is approaching,has reached, or has exceeded his allocated data provider resources. Forexample, in response to determining that the consumer is within aparticular range of the allocated data processor resources (e.g., withina particular amount of allocated transferred data, or within aparticular percentage of the allocated bandwidth) or that the consumerhas reached an initial limit or threshold that is less than theallocated resource limit (e.g., the user has consumed 75% of theallocated resources), the consumer may receive an alert indicating thecurrent status of the consumer's resource use. The range may bedetermined using any suitable approach. For example, the consumer maydefine the range (e.g., by providing a suitable input). As anotherexample, the resource utilization component may define the range (e.g.,using a range known to allow consumers to manage their resourceconsumption). In some embodiments, the range may change dynamically, forexample based on the day within the subscription period (e.g., based ona proportional or non-linear estimation of resource consumption duringthe period). As another example, the user's prior consumption may bemonitored such that variations to a linear estimation or discernablepatterns of data provider resource consumption may be used todynamically modify the range (e.g., to provide a personalized dynamicrange reflecting the consumer's history and expected behavior).

In response to receive the alert, the consumer may modify his resourceconsumption to avoid exceeding the allocated resource amount. In someembodiments, the alert may include an option for restricting or limitingthe amount of resources subsequently used by the consumer. For example,the alert may include an option for preventing the consumer fromreceiving data that would cause the consumer to exceed the allocateddata provider resources. In response to receiving the user selection ofthe option to limit resource use, the consumer may instruct the resourceutilization component to prevent all data transfers that would exceedthe resources allocated to the consumer. In some embodiments, theresource utilization component may automatically prevent all datatransfers that would exceed the resources allocated to the consumer inresponse to determining that the data resource allocation limit has beenmet.

In some embodiments, the alert may instead or in addition include anoption for allowing the consumer to exceed the allocated resources. Forexample, the alert may include an option permitting the resourceutilization component to transmit or receive data in excess of theresources allocated to the consumer. The option may include one or morerestrictions to prevent excessive consumption beyond the allocated dataprovider resources. For example, the consumer may restrict unauthorizedconsumers from exceeding the allocated data provider resource limit, ormay prevent particular types of data transfers (e.g., large datatransfers consuming significant data provider resources) from occurring(e.g., if the consumer is an administrator or has sufficient privilegeswithin the local network). As another example, the consumer may changethe properties of the data being downloaded, such as by changing thedisplay size of a media file to be displayed or by switching from a moreresource intensive Codec to a less resource intensive Codec for playingback the media. The option may include a prompt for a password, otherauthentication information, or payment information (e.g., credit cardinformation) to be entered prior to allowing the consumer to exceed theallocated data provider resources. In some embodiments, the consumer mayautomatically purchase access to additional data provider resources(e.g., without requiring a user interaction), but provide a notice thatadditional resources were purchased. In some embodiments, the option mayonly allow the consumer to exceed the resource limit by a particularamount before a new alert is provided or a new request for authorizationor payment is displayed (e.g., can only exceed up to limit of next dataprovider resource tier).

FIG. 4 is an illustrative screen indicating that the consumer hasreached a limit in data provider resources in accordance with at leastone embodiment of the invention. Screen 400 may include notification 408indicating that the consumer is within a predetermined range of theallocated data provider resource limit. The predetermined range may beset by the consumer (e.g., using an appropriate screen or selectableoption), the data provider, a network component, or any other suitablecomponent. In some embodiments, notification 408 may instead or inaddition indicate that the user has reached the allocated resource limit(i.e., the range is zero).

Screen 400 may include selectable options for several actions that theconsumer may take in response to being informed that the consumer iswithin the predetermined range of the allocated resource limit. Forexample, screen 400 may include option 410 for preventing particularusers or devices from using data provider resources. In response toreceiving a user selection of option 410, the electronic device maydisplay a listing of users or devices to prevent from accessing dataprovider resources. Alternatively, screen 400 may include an option forallowing particular users or devices to access data provider resources.Once particular users or devices have been selected, the data provideror network element downstream from the resource utilization component(e.g., resource utilization component 110, FIG. 1) may detect when theparticular users or devices are requesting data provider resources anddeny the requests.

Screen 400 may include option 412 for restricting resource usage to staywithin the resource allocation. Option 412 may be displayed when theconsumer has not yet reached the allocated storage limit, for examplewhen the user is within a particular or predetermined range of theallocated data provider resource limit. In response to receiving aselection of option 412, the electronic devices within the consumer'snetwork, the network element downstream of the resource utilizationcomponent, or the resource utilization component may restrict the amountof resources used. For example, the types of data transmitted over thenetwork may be limited to eliminate or reduce data transfers of largefile types (e.g., media files). As another example, data transfers maybe restricted based on the protocol or application requesting the datatransfer. As still another application, data transfers may be restrictedbased on the identity of the consumer requesting the transfer (e.g.,limit the users who have consumed a disproportionately large amount ofdata provider resources). As still yet another example, data transfersof media files may be changed to use less resource intensive Codecs orto reduce the size or resolution of displayed media.

Screen 400 may include option 414 for purchasing additional dataprovider resources. For example, in response to receiving a selection ofoption 414, the data provider may receive authorization to charge foradditional resources. The authorization information may be providedusing any suitable approach, for example by receiving credit card orbank account information, a personal pin or passcode associated with theconsumer's account (e.g., to authorize an additional purchase on theconsumer's account with the data provider), or any other suitable typeof authorization information. In some embodiments, the data provider mayprovide additional resources only to particular consumers in response toreceiving purchase or authorization information. For example, the dataprovider may provide additional resources only to those consumers thatprovide purchase or authorization information (e.g., only those usersthat pay can access additional data provider resources, other users mustwait for the next period). Screen 400 may be removed by selecting closeoption 420.

In response to determining that the consumer is nearing or has reached aresource limit, the consumer may perform any suitable action to reduceor manage data consumption. The action taken may depend on or be relatedto the manner in which data provider resources are quantified andmetered. For example, different actions may be taken if the limited dataprovider resource is an amount of data transferred (e.g., received ortransmitted) or bandwidth used.

In some embodiments, the consumer may limit requests for data based onthe type of request. For example, the consumer may prevent the downloadof media data, but allow or permit the download of web pages or othernon-media intensive transfers. To do so, the consumer may limit datarequests based on the data type of the request (e.g., as identified by apacket header or other metadata associated with the request), based onthe application requesting the data (e.g., a media application such asiTunes or QuickTime), the protocol used for the transfer (e.g.,BitTorrent), or any other suitable criteria. As another example, theconsumer may successively limit video downloads, MMS and SMS data basedon the amount by which the consumer is below the allocated resourcelimit. As still another example, the consumer may reduce the size oftransmitted media files by changing the Codec used (e.g., from losslessto lossy), the resolution or size of displayed media, or any other mediaquality attribute that can be reduced to reduce data provider resourcesconsumed. Alternatively, or in addition, attributes of the transfer ofthe media file may be changed. In some embodiments, the consumer mayfurther limit the types of data provided in a single interface. Forexample, the consumer, when loading a web page that includes video oraudio, may not automatically start playing back the video or audio butawait an instruction from the user (e.g., a user selection of the videoor audio), thus indicating that the user has an interest in the media(instead of indeterminately providing audio).

In some embodiments, the consumer may instead or in addition rescheduleor cancel processes requesting data of lesser importance. For example, aconsumer may cancel or delay auto-update processes (e.g., virus scanupdates), automatic requests for new mail, RSS feed detectors,automatically updating web pages or screens (e.g., Gamecast screens orlive blogs for following live sporting or news events), or any othersuitable process. In some embodiments, the consumer may only enable aparticular list of authorized processes. For example, the consumeroperating system may identify essential processes that remain enabledindependent of the data resource status. As another example, theoperating system may identify processes of different levels ofimportance that are enabled or disabled based on a particular amount ofdata provider resources still available (e.g., enable lower levelprocesses when more data provider resources are available). Such anapproach may in addition prevent malware, spyware, or other maliciousapplications or processes from operating properly. In some embodiments,the consumer may include user-selected or user identified processesamong those to continue (e.g., with the operating system essentialprocesses). This may allow the user to continue to operate the devicewith minimal inconvenience while reducing the data provider resourcesused.

In some embodiments, the consumer may reschedule data transferringintensive processes. For example, if the data provider resources aremeasured or quantified in terms of bandwidth used, the consumer mayreschedule or delay bandwidth intensive processes for a time when theconsumer is not performing any other data transfers. As another example,the consumer may slow down or reduce the requested bandwidth for aparticular data transfer to remain within the allocated resource limits.As another example, the consumer may reschedule or delay scheduled tasksbased on detected data usage (e.g., reschedule a scheduled auto-update,or delay refreshing an application screen). Such an approach may beparticularly effective when the data provider metering is based on theday or time of day (e.g., re-schedule processes for mid-day or latenight, when fewer data processing resources are used).

In some embodiments, the consumer may be operative to receive andtransmit data on different communications networks. For example, theconsumer may be operative to transmit data over a Wi-Fi connectionprovided by a wireless router connected to a cable modem and a cellularnetwork (e.g., a 3G network). The consumer may have different dataprovider resource limits based on the particular network used. Forexample, the consumer may have a large resource limit associated withthe Wi-Fi connection, and no resource limit associated with the cellularconnection (which may be slower). In response to detecting that theconsumer is nearing the Wi-Fi resource limit, the consumer may switchongoing and subsequent data transfers to the cellular network. Forexample, the consumer may automatically switch the data transfer to adifferent communications network to avoid exceeding a data providerresource limit. As another example, the consumer may prompt the user toswitch to a different network.

FIG. 5 is an illustrative screen prompting a user to switch networks inaccordance with at least one embodiment of the invention. Screen 500 mayinclude notification 508 indicating to the user that the allocated dataprovider resource limit for the current network (identified byindication 506) has been reached. In response to determining that thelimit for the current network has been reached, the resource utilizationcomponent may identify other networks available to the consumer forwhich allocated data provider resources remain. For example, if aconsumer has consumed all allocated cellular resources (e.g., 3Gresources), the resource utilization component may identify a Wi-Fi orEthernet network for which resources are available. Screen 500 mayinclude selectable options for each identified available network. Forexample, screen 500 may include Ethernet option 510, Wi-Fi option 512,3G cellular network option 514 and EDGE cellular network option 516. Insome embodiments, the displayed options may identify networks by uniqueidentifiers, such as by name (e.g., so that several networks of the sametype, such as Wi-Fi, may be available for selection). In response toreceiving a user selection of a network, the consumer may directcommunications circuitry to switch to the selected network and performthe data transfer operation requested by the consumer. Screen 500 mayinclude any suitable information associated with each identifiednetwork, including for example the amount of resources available foreach network, the penalty for exceeding the resources on each network,or any other suitable information related to particular networks.

To ensure that the most efficient or effective network is used, theresource utilization component may recommend a particular network towhich to switch. The resource utilization component may recommend aparticular network based on any suitable criteria, including for examplethe speed of available networks (e.g., recommend the fastest network),the available resources on each network (e.g., recommend the networkwith the most resources available), the type of data transfer operationrequested (e.g., request a slower network for non-intensive transfers),or any other suitable criteria. The resource utilization component mayfurther recommend or switch to particular networks for specific tasks orbased on particular applications (e.g., use Wi-Fi for media transfers,3G for regular web browsing, and EDGE for checking and receivinge-mail). In some embodiments, the resource utilization component maydynamically and automatically switch between available networks based onthe one or more criteria. In some embodiments, particular applications,data transfer types (e.g., protocols or file types), or other types ofdata provider resource use may be associated with different networks(e.g., check e-mail on cellular network but perform BitTorrent transfersover Wi-Fi or Ethernet).

If no network is available, screen 500 may not include any selectableoptions but may instead display a screen from which the user maypurchase additional data provider resources for one or more networks.Alternatively, screen 500 may indicate to the user that no further datatransfers will be available until the next subscription period begins.Screen 500 may be removed by selecting close option 520.

In some embodiments, a consumer may direct a resource utilizationcomponent (e.g., a router) to monitor received data based on the sourceor originator of the data. In particular, the consumer may direct theresource utilization component to distinguish between data received as aresult of a consumer request to receive data (e.g., a consumer requestto check for new email, download media, surf the Internet) andunsolicited data transmitted to the user using the data providerresources. For example, the resource utilization component may beoperative to log and quantify the number of unsolicited pings orattempted hacks of the consumer. The consumer may in turn provide thatinformation to the data provider to ensure that data transfers notinitiated or requested by the consumer are not included in the measureddata provider metering. In some embodiments, the consumer may accountfor unsolicited data transfers when determining the amount of dataprovider resources have been consumed and remain available forconsumption.

To more particularly manage data transfers to different devices owned oroperated by a same user (e.g., different computers and mobile deviceswithin a same network managed by a consumer of data provider services),the user may distribute the data provider resources available to theuser (e.g., to the user's account or network) to each of the devices orpersons using the network. For example, a network administrator mayallocate a particular amount of data provider resources (e.g., aparticular amount or percentage of allocated data transfers) to eachdevice on the network (e.g., to each device identified by the networkadministrator). As another example, the network administrator mayinstead or in addition allocate a particular amount of data providerresources to each user of the network (e.g., based on log-in orauthentication information provided to access the network).

The network administrator may determine the amount of resources toallocate to each device or user using any suitable approach. Forexample, the network administrator may associate different amounts ofresources based on the type of device used (e.g., a mobile computingdevice or a computer). As another example, the network administrator mayassociate different amounts of resources based on the type of user orfrequency with which the user accesses the network (e.g., a guest user,a regular user, or a system administrator). In some embodiments, thenetwork administrator may monitor the devices and users using thenetwork and data provider resource to allocate available resources basedon prior use. For example, the network administrator may determine thata particular user or device uses a large or small amount of dataprovider resources, and accordingly allocate a small or large amount ofresources to the particular user or device. As another example, thenetwork administrator may determine the percentage of resources used byeach device or user and allocate available data provider resources basedon the determined percentages of prior use. If the network administratorknows of or detects an anomalous prior usage (e.g., a particular useroperated a bandwidth intensive application due to a seasonal or one-timeproject), or expects an anomalous future usage (e.g., a user is away onvacation for a certain amount of time), the network administrator mayaccount for the anomalous use when allocating data provider resources.

As each device or user consumes data provider resources, the networkadministrator may monitor the consumption and provide reports, notices,reminders and alerts to each of the devices or users within the network.For example, the network administrator may provide any of the reports,notices, reminders and alerts describe above in connection with theconsumption of a particular data provider resource consumer. When a useror device approaches or reaches the allocated limit of data providerresources, the network administrator may take any suitable action. Insome embodiments, the particular user or device may be prevented fromusing additional data provider resources until the resources are againre-allocated (e.g., during the next tier period). For example, thenetwork administrator may ignore or deny all requests from theparticular user or device for data provider resources and may inaddition provide a message indicating that the user has reached hisallocated resource limit. The message may invite the user, for example,to request that the network administrator re-evaluate the data providerresource allocation, or suggest that the user identify another device ornetwork with which to access data provider resources.

In some embodiments, the network administrator may re-allocate resourcessuch that a user or device that has reached or is approaching an initialallocation limit may have additional resources available. This mayrequire the network administrator to reduce the allocation of one ormore other users or devices, or to maintain an overflow or reserve ofresources available for such occasions. Alternatively, the networkadministrator may allow the user or device to exceed the allocatedresources in exchange for an additional charge (e.g., a payment orpenalty). For example, the network administrator may allow the user ordevice to exceed the allocated resources in exchange for an agreement topay a predetermined penalty or the penalty given by the data provider(e.g., in response to the user selecting an option agreeing to thepenalty).

FIG. 6 is a flowchart of an illustrative process for providing anindication of current resource use to a consumer in accordance with atleast one embodiment of the invention. Process 600 may begin at step602. At step 604, the resource utilization component coupled to theelectronic device may meter data provider resource usage. For example,the resource utilization component may detect and monitor the dataprovider resources consumed by a particular consumer. In someembodiments, the resource utilization component may monitor the dataprovider resources consumed by several consumers within a network thatis connected to a resource utilization component providing access to aremote network. At step 606, the resource utilization component maydetermine whether the usage of the consumer is within a predeterminedrange of the data provider resource limit. For example, the resourceutilization component may compare the current resource usage of theconsumer (e.g., within a particular period) with the limits set by thedata provider and determine whether the difference falls within apredetermined range. The range may be determined using any suitableapproach, and be fixed or change with time (e.g., based on the amount oftime left in the period). For example, the range may be a percentage oramount of data provider resources still available. As another example,the range may be zero (e.g., the consumer has reached the data providerresource limit). As still another example, the range may be determineddynamically based on the rate of use of data provider resources, thetime left in the period, known or expected variations in data resourceuse (e.g., based on prior or monitored data resource use), combinationsof these, or any other suitable criteria for dynamically determining arange.

If the resource utilization component determines that the usage of theconsumer is not within the predetermined range of the data providerresource limit, process 600 may return to step 604 and continue to meterdata provider resource usage of the consumer. If, at step 606, theresource utilization component instead determines that the usage of theconsumer is within the predetermined range, process 600 may move to step608. At step 608, the resource utilization component may provide anindication of current resource use to the consumer. For example, theresource utilization component may provide to the consumer informationrelated to the user's current resource usage, expected resource usage,resources remaining for the period, or any other suitable informationregarding data provider resource use. In some embodiments, the resourceutilization component may provide options for managing data providerresources to the consumer. For example, options for reducing resourceuse, purchasing or accessing additional resources, preventing particularusers or electronic devices from consuming resources, or any othersuitable option for managing data provider resource consumption. Process600 may then end at step 610.

Thus it is seen that computers and other network devices capable ofmonitoring data consumption, and methods and apparatus for schedulingcomputer activities to consume data during periods of lower data prices,have been provided. It will be understood that the foregoing is onlyillustrative of the principles of the invention, and that variousmodifications can be made by those skilled in the art without departingfrom the scope and spirit of the invention, and the present invention islimited only by the claims that follow.

What is claimed is:
 1. A method, comprising: by a wireless communicationdevice: associating a first application with a cellular network;associating a second application with a Wi-Fi network; subsequentlydetermining that a communication has been requested by an application;and selecting a network on which to perform the communication, based onthe application requesting the communication, wherein the selectingcomprises: preventing access to the cellular network by communicationsrelating to the second application; and automatically switching betweenthe cellular network to perform communications relating to the firstapplication and the Wi-Fi network to perform communications relating tothe second application.
 2. The method of claim 1, wherein preventingaccess to the cellular network by communications relating to the secondapplication is performed in response to determining that an allocateddata provider resource limit associated with the cellular network hasbeen reached.
 3. The method of claim 2, wherein the allocated dataprovider resource limit associated with the cellular network comprisesbandwidth on the cellular network.
 4. The method of claim 2, furthercomprising, in response to determining that the allocated data providerresource limit associated with the cellular network has been reached,preventing access to the cellular network by communications relating toleast one of: a particular process; a particular type of data transfer;or a particular type of data.
 5. The method of claim 1, wherein thepreventing access to the cellular network by communications relating tothe second application further comprises preventing access to thecellular network by communications relating to the second applicationperforming a scheduled download.
 6. The method of claim 1, wherein thepreventing access to the cellular network by communications relating tothe second application further comprises preventing access to thecellular network by communications relating to the second applicationperforming an automatic update.
 7. The method of claim 1, furthercomprising receiving a criterion for preventing access to the cellularnetwork by communications relating to any of a plurality of users.
 8. Anelectronic device comprising: cellular communication circuitryconfigured to communicate with a cellular network; Wi-Fi communicationcircuitry configured to communicate with a Wi-Fi network; and resourceutilization circuitry configured to: associate a first application withthe cellular network and a second application with the Wi-Fi network;and in response to a subsequent request to transfer data, select whichnetwork to use in transferring the data, based on an applicationrequesting the data transfer, wherein the selecting comprises causingthe electronic device to automatically switch between utilizing thecellular network for data transfer associated with the first applicationand utilizing the Wi-Fi network for data transfer associated with thesecond application.
 9. The electronic device of claim 8, wherein theresource utilization circuitry is further configured to cause theelectronic device to determine that an allocated data provider resourcelimit associated with the cellular network has been reached, wherein theautomatically switching from the cellular network to the Wi-Fi networkfor data transfer associated with the second application is furtherperformed in response to the determining.
 10. The electronic device ofclaim 9, wherein the allocated data provider resource limit associatedwith the cellular network comprises bandwidth on the cellular network.11. The electronic device of claim 8, wherein automatically switchingfrom the cellular network to the Wi-Fi network for data transferassociated with the second application is in response to a configurationpreventing access to the cellular network by data transfer associatedwith the second application.
 12. The electronic device of claim 8,further comprising I/O circuitry configured to receive a criterion forpreventing access to the cellular network by data transfer relating toany of a plurality of users.
 13. The electronic device of claim 8,wherein the resource utilization circuitry is further configured tocause the electronic device to prevent access to the cellular network bya data transfer relating to a scheduled download.
 14. The electronicdevice of claim 8, wherein the resource utilization circuitry is furtherconfigured to cause the electronic device to prevent access to thecellular network by a data transfer relating to an automatic update. 15.An electronic device comprising: cellular communication circuitryconfigured to communicate with a cellular network; Wi-Fi communicationcircuitry configured to communicate with a Wi-Fi network; and resourceutilization circuitry configured to select which network to use intransferring data, based on an application requesting the data transfer,wherein, in performing the selecting, the resource utilization circuitryis configured to: associate a first application with the cellularnetwork and a second application with the Wi-Fi network; and in responseto a subsequent request to transfer data: allow the electronic device toutilize the cellular network for data transfer associated with the firstapplication; prevent the electronic device from utilizing the cellularnetwork for data transfer associated with the second application; andallow the electronic device to utilize the Wi-Fi network for the datatransfer associated with the second application.
 16. The electronicdevice of claim 15, wherein preventing the electronic device fromutilizing the cellular network for data transfer associated with thesecond application is further performed in response to the resourceutilization circuitry determining that an allocated data providerresource limit for the cellular network has been reached.
 17. Theelectronic device of claim 16, wherein the allocated data providerresource limit for the cellular network comprises bandwidth on thecellular network.
 18. The electronic device of claim 15, whereinpreventing the electronic device from utilizing the cellular network fordata transfer associated with the second application is in response to aconfiguration preventing access to the cellular network by data transferassociated with the second application for a plurality of users, whereinthe configuration is based at least in part on a received user input.19. The electronic device of claim 15, wherein the resource utilizationcircuitry is further configured to prevent the electronic device fromaccessing the cellular network for a scheduled download.
 20. Theelectronic device of claim 15, wherein the resource utilizationcircuitry is further configured to prevent the electronic device fromaccessing the cellular network for an automatic update.